Network devices or machines are typically configured to process services distributed and managed by an enterprise. However, each machine rapidly acquires its own unique state based in part on actions of its user and based in part on unique processing associated with its installed services. The result is a plurality of individual machines, which a network administrator must attempt to monitor and to manage according to enterprise standards. This can result in too much manual intervention and too much work for a network administrator. In fact, the work load may quickly overwhelm network administration.
Take for instance when an administrator initially installs services or systems on machines of a network; when something changes with respect to those services, not only the policies have to change, but the administrator may also have to audit the changes manually in order to properly set up the services. This example scenario has obvious scalability issues, and is static unless re-provisioning of the services and policies occur. Also, the example scenario does not account for a highly dynamically changing network or machine topology and/or network or machine availability.
As yet another illustration, consider a machine that executes a service, such as a word processor application. If the word processor application fails and abnormally terminates, often the user of the machine will manually notify an administrator or the word processor application sends an automatic message to the administrator. In either case, the resolution for the failure is delayed and must be manually addressed at a later time through manual actions of the user, after the appropriate resolution is received from the administrator. An administrator can quickly become loaded down with repetitive and sometimes simple fixes for the word processor application.